package edzest.basic;

public class J10_OOP {

	public static void main(String[] args) {
		// OOP기본 - 클래스 작성
		// 클래스를 이용해서 객체를 생성하려면
		// new 연산자, 생성자를 사용
		// 또한 생성된 객체를 변수화하려면
		// 객체와 동일한 자료형으로 선언
		// 개체화, stud, depart, subj, prof는
		// 각각 인스턴스 변수임
		// new 뒤에 생성자 -> 객체 생성
		// 생성자: 객체를 만들어주는 기능을 하는 놈
		
		// new J10Student().addr;
		// Syntax error, insert "AssignmentOperator Expression"
		// to complete Expression
		// AssignmentOperator: 할당 연산자(=)
		
		new J10Student().hakbun = "123";
		// 이런식으로 객체의 변수에 접근하려면 매번 객체를 생성해야 하므로
		// 아래처럼 인스턴스 변수를 생성한 후 변수에 접근
		new J10Department();
		new J10Subject();
		new J10Professor();
		
		J10Student stud = new J10Student();
		J10Department depart = new J10Department();
		J10Subject subj = new J10Subject();
		J10Professor prof = new J10Professor();
		
		stud.hakbun = "201350050";
		stud.name = "김태희";
		stud.addr = "경기도고양시";
		stud.birth = "1985.3.22";
		stud.depart = "컴퓨터";
		stud.prof = "504";
		System.out.println(stud.hakbun);
		System.out.println(stud.name);
		System.out.println(stud.addr);
		System.out.println(stud.birth);
		System.out.println(stud.depart);
		System.out.println(stud.prof);
		
		depart.departName = "컴퓨터공학";
		depart.telNo = "123-4567-8901";
		depart.office = "E동 2층";
		depart.chief = "504";
		
		System.out.println(depart.departName);
		System.out.println(depart.telNo);
		System.out.println(depart.office);
		System.out.println(depart.chief);
		}// main

}// class

class J10Student{
	// 필드 또는 멤버변수라 부름
	String hakbun;
	String name;
	String addr;
	String birth;
	String depart;
	String prof;
	// 생성자
	public J10Student() {
		// TODO Auto-generated constructor stub
	}
}// student

class J10Department{
	String departName;
	String telNo;
	String office;
	String chief;
	public J10Department() {
		// TODO Auto-generated constructor stub
	}
}// department

class J10Subject{
	String subNo;
	String subName;
	String summary;
	String prof;
	public J10Subject() {
		// TODO Auto-generated constructor stub
	}
}// subject

class J10Professor{
	String profNo;
	String profName;
	String profMajor;
	public J10Professor() {
		// TODO Auto-generated constructor stub
	}
}// professor